layui.use(['table','form'], function () {
    var form = layui.form
    var table = layui.table;
    initTable = function () {
        table.render({
            elem: '#userTable'
            , url: '/user/list' //数据接口
            , page: true //开启分页
            , toolbar: '#toolbarDemo'
            , id: 'testReload'
            , cols: [[ //表头
                {type: 'radio'},
                {field: 'account', sort: true, minWidth: 200, title: '用户账号', sort: true},
                {field: 'phone', sort: true, minWidth: 200, title: '手机号', sort: true},
                {field: 'name', minWidth: 80, title: '姓名'},
                {field: 'birthday', minWidth: 80, title: '生日'},
                {field: 'sex', minWidth: 80, title: '性别'},
                /*{field: 'rolePk', minWidth: 80, title: '角色'},
                {field: 'deptPk', minWidth: 80, title: '部门'},*/
                {field: 'status', minWidth: 80, title: '状态',templet: '#switchTpl'}
            ]]
            , response: {
                statusCode: 200 //重新规定成功的状态码为 200，table 组件默认为 0
            }
            , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
                return {
                    "code": res.code, //解析接口状态
                    "msg": res.message, //解析提示文本
                    "count": res.data.total, //解析数据长度
                    "data": res.data.list //解析数据列表
                };
            }
        });
        var $ = layui.$,
            active = {
                reload: function () {
                    table.reload('testReload', {
                        page: {
                            curr: 1 //重新从第 1 页开始
                        }
                        , where: {
                            name: $('#name').val(),
                            phone: $('#phone').val()
                        }
                    });
                }
            };
        table.on('row(test)', function (obj) {
            obj.tr.find('i[class="layui-anim layui-icon"]').trigger("click");
        });
        $('.demoTable .layui-btn').on('click', function () {
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
        //头工具栏事件
        table.on('toolbar(test)', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                case 'addNewUser':
                    addNewUser();
                    break;
                case 'updateNewUser':
                    var data = checkStatus.data;
                    if (data != null && data != '' && data != undefined) {
                        if (data.length > 0) {
                            if (data.length == 1) {
                                addNewUser(data[0].pk);
                                break;
                            } else {
                                Shadow.error("该操作只能选中一项,请勾选要操作的内容");
                                break;
                            }
                        }
                    } else {
                        Shadow.error("尚未选中待操作的内容");
                        break;
                    }
                    break;
                case 'deleteNewUser':
                    layer.msg("暂时未开放此功能");
                    break;
                case 'resetPassword':
                    var data = checkStatus.data;
                    if (data != null && data != '' && data != undefined) {
                        if (data.length > 0) {
                            resetUserPassword(data[0].pk);
                        }
                    }else{
                        Shadow.error("尚未选中待操作的内容");
                    }
                    break;
            }
        });
    };
    initTable();
    //监听性别操作
    form.on('switch(sexCheck)', function(obj){
        var json = JSON.parse(decodeURIComponent($(this).data('json')));
        json = table.clearCacheKey(json);
        changeUserStatus(json.pk);//控制用户启用或禁用
    });
});
function addNewUser(item) {
    var url = (item != null && item != '' && item != undefined) ? "/user/user_add?userPk=" + item : "/user/user_add";
    layer.open({
        type: 2,
        shadeClose: true,
        shade: false,
        maxmin: true, //开启最大化最小化按钮
        area: ['760px', '400px'],
        content: url
    });
};
function cleanForm(){
    layui.use(['jquery'], function () {
        var $ = jQuery = layui.$;
        $("#searchForm")[0].reset();
    });
}
/**用户状态修改*/
function changeUserStatus(item){
    $.ajax({
        url:"/user/updatestatus/3/"+item,
        type: 'get',
        dataType: "json",
        success:function(resp){

        }
    });
}
function resetUserPassword(item){
    layer.confirm('确认重置该用户密码么', {
        btn: ['确认[Y]','取消[N]'] //按钮
    }, function(){
        $.ajax({
            url:"/user/updatestatus/2/"+item,
            type: 'get',
            dataType: "json",
            success:function(resp){
                if(resp.success){
                    Shadow.success(resp.message);
                }else{
                    Shadow.error(resp.message);
                }
            },
            error:function(resp){
                Shadow.error("异常错误,服务器异常");
            }
        });
        layer.close(layer.index);
        return;
    }, function(){
        Shadow.info("操作取消");
        return;
    });

}